package br.com.toscano.gobra.view;

import javax.inject.Inject;
import br.gov.frameworkdemoiselle.annotation.PreviousView;
import br.gov.frameworkdemoiselle.stereotype.ViewController;
import br.gov.frameworkdemoiselle.template.AbstractEditPageBean;
import br.gov.frameworkdemoiselle.transaction.Transactional;
import br.com.toscano.gobra.business.UnidadeMedidaBC;
import br.com.toscano.gobra.domain.UnidadeMedida;

@ViewController
@PreviousView("./unidadeMedida_list.jsf")
public class UnidadeMedidaEditMB extends AbstractEditPageBean<UnidadeMedida, Long> {

	private static final long serialVersionUID = 1L;

	@Inject
	private UnidadeMedidaBC unidadeMedidaBC;
	
	@Override
	@Transactional
	public String delete() {
		this.unidadeMedidaBC.delete(getId());
		return getPreviousView();
	}
	
	@Override
	@Transactional
	public String insert() {
		this.unidadeMedidaBC.insert(getBean());
		return getPreviousView();
	}
	
	@Override
	@Transactional
	public String update() {
		this.unidadeMedidaBC.update(getBean());
		return getPreviousView();
	}

	@Override
	protected UnidadeMedida handleLoad(Long id) {
		setBean(this.unidadeMedidaBC.load(id));
		return getBean();
	}

}